package polymorphic.demo02;

/**
 * 多态成员访问特点
 * 
 * 成员变量： 编译看左边(父类)，运行看左边（父类）
 * 成员方法：编译看左边(父类)，运行看右边（子类）
 * 
 * 为什么成员变量和成员方法访问不一样？
 * 因为成员方法有重写，而成员变量没有
 * 
 * 多态的优点：多个子类拥有父类相同的方法，可以封装父类，创建子类对象
 * 缺点: 不能去调用子类特有的方法
 */

public class Demo02 {
  public static void main(String[] args) {
    Fu f = new Zi();
    f.method();
    System.out.println(f.num);
  }
}

class Fu {
  int num = 10;

  public void method() {
    System.out.println("Fu method");
  }
}

class Zi extends Fu {
  int num = 20;

  public void method() {
    System.out.println("Zi method");
  }
}
